#ifndef _CROCKETLAUNCHERBULLET_H_
#define _CROCKETLAUNCHERBULLET_H_

#include "CBase.h"
#include "..\\Messaging\IListener.h"
#include "..\SGD_Math.h"

class CRocketLauncherBullet : public CBase, public IListener
{
private:
	int m_nBulletType;
	RECT m_rDetonate;
	RECT m_rRocketRect;

	float m_fShockwaveScale;

	bool m_bExplode;

	// Asset IDs
	int m_nShockwaveID;
	int m_nExplodeID;

	int m_nBulletID;

	tVector2D m_tRcktVec;

	float m_fRcktRotation;
public:
	enum bulletType {BLT_PLAYER, BLT_ENEMY};

	CRocketLauncherBullet(void);
	~CRocketLauncherBullet(void);

	RECT GetDetonateRect();
	RECT GetRocketRect() { return m_rRocketRect; }

	int GetBulletType() { return m_nBulletType; }
	void SetBulletType(int nBulletType) { m_nBulletType = nBulletType; }

	void Update(float fElapsedTime);
	void Render(void);
	bool isexplodng(){return m_bExplode;}

	RECT GetCollisionRect(void);

	bool CheckCollision(IBaseInterface* pBase);	
	void HandleEvent(CEvent* pEvnt);
};

#endif